package com.bbva.kyfb.kyfbdto.abstracts;

import java.util.List;

import javax.persistence.Query;

import com.bbva.jee.arq.spring.core.contexto.ArqSpringContext;
import com.bbva.jee.arq.spring.core.gce.ExcepcionEjecucionAplicacion;
import com.bbva.jee.arq.spring.core.util.excepciones.PropiedadNoEncontradaExcepcion;
import com.bbva.kyfb.kyfbdaofo.interfaces.EooDao;
import com.bbva.kyfb.kyfbdtofo.entitys.EooDTO;
import com.bbva.kyfb.kyfbdtofo.firmas.errores.Errores_kyfbfo_servicios;
import com.bbva.kyfb.kyfbjpatlsb.dominiotlsb.Ttlsbeoo;
import com.bbva.kyfb.kyfbjpatlsb.dominiotlsb.TtlsbeooPK;

@SuppressWarnings("unchecked")
public abstract class EooDaoAbstract extends
		DaoAbstract<Ttlsbeoo, TtlsbeooPK> implements EooDao {


	public EooDaoAbstract() {
		super(Ttlsbeoo.class);
	}

	@Override
	public List<EooDTO> selectEOOFromEOOByCodTipord(String codTipord) {
		try {
			String queryDefinicion = ArqSpringContext
					.getPropiedad("TLSB.TTLSBEOO.SELECT_EOO_FROM_EOO_BY_CODTIPORD");

			Query query = entityManager.createQuery(queryDefinicion);
			query.setParameter("codTipord", codTipord);

			return query.getResultList();

		} catch (PropiedadNoEncontradaExcepcion e) {
			throw new ExcepcionEjecucionAplicacion(
					Errores_kyfbfo_servicios.ERROR_EN_SQL);
		}
	}
}
